from method import Method, Param, KeywordParam, String, Boolean, Integer

class Get(Method):
    """
    This method returns all of the album templates for the logged in user (via
    SessionID). Templates are only available to Power and Pro users.
    """

    name = 'smugmug.albumtemplates.get'

get = Get()

class Create(Method):
    """
    Arguments:
    String AlbumTemplateName
    Integer HighlightID
    String SortMethod
    Boolean SortDirection
    Boolean Public
    String Password
    String PasswordHInteger
    Boolean PrIntegerable
    Boolean Filenames
    Boolean Comments
    Boolean External
    Boolean Originals
    Boolean EXIF
    Boolean Share
    Boolean Header
    Boolean Larges
    Boolean Clean
    Boolean Protected
    Boolean Watermarking
    Boolean FamilyEdit
    Boolean FriendEdit
    Boolean HideOwner
    Boolean DefaultColor
    Boolean Geography
    Boolean CanRank
    Integer ProofDays
    String BackprIntegering
    Boolean SmugSearchable
    Boolean WorldSearchable
    Integer TemplateID
    Integer CommunityID
    Integer WatermarkID
    """
    
    name = 'smugmug.albumtemplates.create'
    keywordParams = (
        KeywordParam('AlbumTemplateName', String),
        KeywordParam('HighlightID', Integer),
        KeywordParam('SortMethod', String, default='Position'),
        KeywordParam('SortDirection', Boolean, default=False),
        KeywordParam('Public', Boolean, default=True),
        KeywordParam('Password', String),
        KeywordParam('PasswordHint', String),        
        KeywordParam('Printable', Boolean, default=True),
        KeywordParam('Filenames', Boolean, default=False),
        KeywordParam('Comments', Boolean, default=True),
        KeywordParam('External', Boolean, default=True),
        KeywordParam('Originals', Boolean, default=True),
        KeywordParam('EXIF', Boolean, default=True),
        KeywordParam('Share', Boolean, default=True),
        KeywordParam('Header', Boolean, default=False),
        KeywordParam('Larges', Boolean, default=True),
        KeywordParam('Clean', Boolean, default=False),
        KeywordParam('Protected', Boolean, default=False),
        KeywordParam('Watermarking', Boolean, default=False),
        KeywordParam('FamilyEdit', Boolean, default=False),
        KeywordParam('FriendEdit', Boolean, default=False),
        KeywordParam('HideOwner', Boolean),
        KeywordParam('DefaultColor', Boolean),
        KeywordParam('Geography', Boolean, default=0),
        KeywordParam('CanRank', Boolean, default=0),
        KeywordParam('ProofDays', Integer, default=0),
        KeywordParam('Backprinting', String),
        KeywordParam('SmugSearchable', Boolean),
        KeywordParam('WorldSearchable', Boolean),
        KeywordParam('TemplateID', Integer, default=0),
        KeywordParam('CommunityID', Integer, default=0),
        KeywordParam('WatermarkID', Integer, default=0)
    )
    
create = Create()

class ChangeSettings(Method):
    """
    Arguments:
    String AlbumTemplateName
    Integer HighlightID
    String SortMethod
    Boolean SortDirection
    Boolean Public
    String Password
    String PasswordHInteger
    Boolean PrIntegerable
    Boolean Filenames
    Boolean Comments
    Boolean External
    Boolean Originals
    Boolean EXIF
    Boolean Share
    Boolean Header
    Boolean Larges
    Boolean Clean
    Boolean Protected
    Boolean Watermarking
    Boolean FamilyEdit
    Boolean FriendEdit
    Boolean HideOwner
    Boolean DefaultColor
    Boolean Geography
    Boolean CanRank
    Integer ProofDays
    String BackprIntegering
    Boolean SmugSearchable
    Boolean WorldSearchable
    Integer TemplateID
    Integer CommunityID
    Integer WatermarkID
    """
        
    name = 'smugmug.albumtemplates.changeSettings'
    keywordParams = (
        KeywordParam('AlbumTemplateName', String),
        KeywordParam('HighlightID', Integer),
        KeywordParam('SortMethod', String, default='Position'),
        KeywordParam('SortDirection', Boolean, default=False),
        KeywordParam('Public', Boolean, default=True),
        KeywordParam('Password', String),
        KeywordParam('PasswordHint', String),        
        KeywordParam('Printable', Boolean, default=True),
        KeywordParam('Filenames', Boolean, default=False),
        KeywordParam('Comments', Boolean, default=True),
        KeywordParam('External', Boolean, default=True),
        KeywordParam('Originals', Boolean, default=True),
        KeywordParam('EXIF', Boolean, default=True),
        KeywordParam('Share', Boolean, default=True),
        KeywordParam('Header', Boolean, default=False),
        KeywordParam('Larges', Boolean, default=True),
        KeywordParam('Clean', Boolean, default=False),
        KeywordParam('Protected', Boolean, default=False),
        KeywordParam('Watermarking', Boolean, default=False),
        KeywordParam('FamilyEdit', Boolean, default=False),
        KeywordParam('FriendEdit', Boolean, default=False),
        KeywordParam('HideOwner', Boolean),
        KeywordParam('DefaultColor', Boolean),
        KeywordParam('Geography', Boolean, default=0),
        KeywordParam('CanRank', Boolean, default=0),
        KeywordParam('ProofDays', Integer, default=0),
        KeywordParam('Backprinting', String),
        KeywordParam('SmugSearchable', Boolean),
        KeywordParam('WorldSearchable', Boolean),
        KeywordParam('TemplateID', Integer, default=0),
        KeywordParam('CommunityID', Integer, default=0),
        KeywordParam('WatermarkID', Integer, default=0)
    )
    
changeSettings = ChangeSettings()